# a b c d四名犯罪嫌疑人，其中有一个是小偷；  受到审讯  ：
# a说 我不是小偷，
# b说c是小偷，
# c说小偷肯定是d ,
# d说c胡说
# 其中三个人说的是实话，一个人说的是假话。  谁是小偷

# a:thief != 1 [2,3,4]
# b:thief =3
# c:4=thief
# d:4!=thief
#方法一：

#三个人说了真话，证明三个数组中都包含有小偷的编号
thief = ["a","b","c","d"]

a = ["b","c","d"]
b = ["c"]
c = ["d"]
d = ["a","b","c"]
count=0
for i in thief:
    if i in a:
        count+=1
        if i in b:
            count+=1
            if i in c:
                count+=1
                if i in d:
                    count+=1
    if count==3:
        print(f"{i}是小偷")

#方法二（百度）
def thief_is():
    for thief in ('a', 'b', 'c', 'd'):
        sum = ('a' != thief) + (thief == 'c') + \
            (thief == 'd') + (thief != 'd')
        if sum == 3:
            print("thief is %s"%thief)
thief_is()

# 有一条船  30个人， 船上超载， 只能载15个人。
# 30个人排成一队，从1开始编号，每数到第八个人就下船，最后输出哪些编号的人下船了

#方法一
last=[]
before=list(range(1,31))
index = 0
while len(before)>15:
    for i in before:
        index += 1
        if index == 8:
            last.append(i)
            # print(f"{i}下船")
            index=1
            before.remove(i)
print(f"下船的人的编号为{last}")


# 方法二（百度）：
before = list(range(1,31))
i = 0
while len(before)>15:
    i += 7
    if i > len(before):
        i -= len(before)
    print(before[i])
    del before[i]

